A data processing environment includes systems for executing code containing functional logic. A data processing environment for executing medium to large scale software applications typically includes a variety of software execution platforms (platforms, execution platforms). A platform is an application infrastructure, such as a type of server hardware, software, or a combination thereof, for executing software of a certain type. Typically, a platform is designed to provide the services needed for executing the software of that type, and to provide them in an efficient manner. Provision of specific services in this manner is known as “separation of concerns.”
Often, a platform does not exclude software from execution merely because the software is not of the type for which the platform is best suited. Furthermore, many software applications that execute in a data processing environment include functions that are not clearly attributable to one platform or another.
Presently available software development tools are typically designed and used for improving code quality, and shortening development time. Software developers typically tend to have more expertise in a limited number of functional areas rather than all areas of “concern” in a given data processing environment. For example, one software developer may be a database expert whereas another may be an expert in a particular business process, such as transaction processing in a banking application.